/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package biblioteca.modelos;

import biblioteca.excepciones.ExcepcionDeAplicacion;
import biblioteca.excepciones.ExcepcionDeBD;
import java.sql.SQLException;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import poo.biblioteca.bd.DBManager;

/**
 *
 * @author apo
 */
public class MdlReportes {
    
    

    public JasperPrint reportarPrestamosActivos() throws ExcepcionDeAplicacion  {
        try {
            JasperReport reporte = (JasperReport) JRLoader.loadObject("RptPrestamosActivos.jasper");
            return JasperFillManager.fillReport(reporte, null, DBManager.getInstancia().getConnection());
        } catch (JRException ex) {
            throw new ExcepcionDeAplicacion("No se pudo acceder al reporte", ex);
        } catch (SQLException ex) {
            throw new ExcepcionDeAplicacion("No se pudo conectar con la BD al generar el reporte", ex);
        } catch (ExcepcionDeBD ex) {
            throw new ExcepcionDeAplicacion("No se pudo conectar con la BD al generar el reporte", ex);
        }
    }
            
            //load report 
            //JasperReport report = JasperManager.loadReport(reportName); 
            //
            //fill report 
            //JasperPrint print = JasperManager.fillReport(report, parameters, DbConnection); 
            //
            //display report 
            //JPanel pnlViewer = new JRViewer(print); 

}
